package com.samsung.actividades;

import com.samsung.R;
import com.samsung.database.Orden;
import com.samsung.database.Parte;
import com.samsung.database.PartesDBAdapter;
import com.samsung.seleccion.MyWebView;

import android.app.Activity;
import android.content.Intent;
import android.content.res.Resources;
import android.database.Cursor;
import android.os.Bundle;
import android.widget.Button;
import android.widget.RadioButton;
import android.widget.RadioGroup;
import android.widget.TextView;
import android.widget.Toast;
import android.view.View;
import android.view.View.OnClickListener;

public class VistaParte extends Activity implements OnClickListener{
	
	private PartesDBAdapter partesDBAdapter;
	Cursor partesCursor;
	TextView codigoText;
	TextView modeloText;
	TextView nroParteText;
	private RadioGroup radioGrub;
	Orden orden;
	String codigo;
	String modelo;
	String nro_parte;
	VistaParte instance;
	boolean hayDatos;
	protected void onCreate(Bundle savedInstanceState) {
		super.onCreate(savedInstanceState);
		setContentView(R.layout.vistaparte);
		instance = this;
		Resources res = getResources();
		Button resumenBt = (Button) findViewById(R.id.resumenBt);
			
		resumenBt.setOnClickListener(this);
		
		Button selecBt = (Button) findViewById(R.id.nuevaParte);
		
		selecBt.setOnClickListener(this);
		
		
		Intent i = getIntent();
		orden = (Orden) i.getParcelableExtra(Inicio.KEY_ORDEN);
		if(orden!=null){
			System.out.println("Datos de orden");
			System.out.println("estado: "+orden.getEstado());
			System.out.println("modelo: "+orden.getModelo());
			System.out.println("numero: "+orden.getNumero());
			System.out.println("sintoma: "+orden.getSintoma());
		}
		 codigoText = (TextView) findViewById(R.id.codParte);
		 modeloText = (TextView) findViewById(R.id.codModelo);
		 nroParteText = (TextView) findViewById(R.id.nroparte);
		 radioGrub = (RadioGroup) findViewById(R.id.radioGroup1);
		 
		partesDBAdapter = new PartesDBAdapter(this);
		partesDBAdapter.open();
		
		if (orden!=null && orden.getModelo()!=null){
			modelo = orden.getModelo();	
			
		}else{
			modelo = "RS21HDTBP1/XAP";
		}
		//
			
		//Ini - Dave <- como se obtiene el codigo
		
		try {
			// pick call made to Activity2 via Intent
			Intent myLocalIntent= getIntent();
			
			//look into the bundle sent to Activity2 for data items
			Bundle myBundle= myLocalIntent.getExtras();
			codigo = myBundle.getString("val1");			
		} catch (Exception e) {
			// TODO: handle exception
			codigo = "";
		}	
		//Fin - Dave <- como se obtiene el codigo
		
		
		//setContentView(R.layout.vistaparte);

		System.out.println("modelo "+modelo+ "  Codigo "+codigo);
		
		partesCursor = partesDBAdapter.getPartesCursor(modelo, codigo);
		startManagingCursor(partesCursor);
		if (!verPartes()){
			Toast.makeText(this, "No se encontraron datos para el modelo "+ modelo+ " y el codigo "+codigo, Toast.LENGTH_SHORT)
			.show();
		}
		
		
	}
	private boolean verPartes() {
		hayDatos = false;
		partesCursor.requery();
		//modelos.clear();
		
		if (partesCursor.moveToFirst()){
			hayDatos = true;
			int ind = 1;
			do {
				
				String value = partesCursor.getString(partesCursor.getColumnIndex(PartesDBAdapter.KEY_MODELO));
				String titulo = getResources().getString(R.string.modelo);
				modeloText.setText(titulo+" "+value);
				
				value = partesCursor.getString(partesCursor.getColumnIndex(PartesDBAdapter.KEY_CODIGO));
				titulo = getResources().getString(R.string.codigo);
				codigoText.setText(titulo+" "+value);
				
				value = partesCursor.getString(partesCursor.getColumnIndex(PartesDBAdapter.KEY_PARTE));
				titulo = getResources().getString(R.string.parte);
				nro_parte = value;
				nroParteText.setText(titulo+" "+value);
							
				RadioButton b = new RadioButton(this);
				String name_desc = partesCursor.getString(partesCursor.getColumnIndex(PartesDBAdapter.KEY_NOMBRE_DESC)); 
				b.setText(name_desc);
				radioGrub.addView(b);
				if (ind == 1){
					b.setSelected(true);
				}
				
				ind ++;
				//modelos.add(modelo);
				
				//System.out.println("modelo "+modelo);
			} while (partesCursor.moveToNext());
			//	partesCursor.moveToNext();
			//} while (modelos.size() != 10);
		
		//aaModelos.notifyDataSetChanged();
		}
		
		return hayDatos;
	
	}
	@Override
	public void onClick(View v) {
		// TODO Auto-generated method stub
		Intent intent;
		switch (v.getId()) {
		case R.id.resumenBt:				
			if (hayDatos)adicionarParte();
			
			intent = new Intent("com.samsung.actividades.RESUMEN");	
			if (orden != null){
				intent.putExtra(Inicio.KEY_ORDEN, orden);
			}
			intent.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
	        intent.addFlags(Intent.FLAG_ACTIVITY_SINGLE_TOP);
	        partesDBAdapter.close();
			startActivity(intent);
			
			break;
			
		case R.id.nuevaParte:
			if (hayDatos)adicionarParte();
			Intent i = new Intent(instance, MyWebView.class);
			i.putExtra(Inicio.KEY_ORDEN, orden);
			partesDBAdapter.close();
			startActivity(i);
			break;
		
		}
		
	}
	private void adicionarParte() {
		int id = radioGrub.getCheckedRadioButtonId();
		RadioButton rb = (RadioButton)findViewById(id);
		if (rb!=null){
		String nombre_desc = rb.getText().toString();
		Parte parte = new Parte(nro_parte,codigo,modelo,nombre_desc);
		if (orden!= null) orden.addParte(parte);
		}
	}
	
	@Override
	protected void onResume() {
		super.onResume();
		/*Intent i = getIntent();
		orden = (Orden) i.getParcelableExtra(Inicio.KEY_ORDEN);
		if (orden!=null && orden.getModelo()!=null){
			modelo = orden.getModelo();	
		}
		Bundle myBundle= i.getExtras();
		codigo = myBundle.getString("val1");
		radioGrub.removeAllViews();
		partesCursor = partesDBAdapter.getPartesCursor(modelo, codigo);
		startManagingCursor(partesCursor);
		if (!verPartes()){
			Toast.makeText(this, "No se encontraron datos para el modelo "+ modelo+ " y el codigo "+codigo, Toast.LENGTH_SHORT)
			.show();
		}*/
	}
	

	
}
